package ar.edu.utn.frgp.EjemploHibernate.action.clientes;

import ar.edu.utn.frgp.EjemploHibernate.model.Cliente;
import ar.edu.utn.frgp.EjemploHibernate.service.RecursoService;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class BuscarClienteAction extends ActionSupport {
	private static final long serialVersionUID = 1L;

	private RecursoService service;
	Cliente cliente = new Cliente();
	private String dni;
	private String nombre;
	private String apellido;
	private String domicilio;
	private String telefono;
	private String email;
	private String password;

	@Override
	public String execute() {
		try {
			// Obtener Cliente
			if (password.equals(null)) {
				cliente = service.getCliente(dni);
			} else {
				cliente = service.getCliente(dni, password);
				ActionContext.getContext().getSession().put("cliente", cliente);
			}

			// Setear Cliente
			nombre = cliente.getNombre();
			apellido = cliente.getApellido();
			domicilio = cliente.getDomicilio();
			telefono = cliente.getTelefono();
			email = cliente.getEmail();
			password = cliente.getPassword();
			
			return SUCCESS;
		} catch (Exception e) {
			e.printStackTrace();
			return ERROR;
		}
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public RecursoService getService() {
		return service;
	}

	public Cliente getCliente() {
		return cliente;
	}

	public String getDni() {
		return dni;
	}

	public String getNombre() {
		return nombre;
	}

	public String getApellido() {
		return apellido;
	}

	public String getDomicilio() {
		return domicilio;
	}

	public String getTelefono() {
		return telefono;
	}

	public String getEmail() {
		return email;
	}

	public String getPassword() {
		return password;
	}

	public void setService(RecursoService service) {
		this.service = service;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}

	public void setDni(String dni) {
		this.dni = dni;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public void setApellido(String apellido) {
		this.apellido = apellido;
	}

	public void setDomicilio(String domicilio) {
		this.domicilio = domicilio;
	}

	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public void setPassword(String password) {
		this.password = password;
	}

}
